package com.example.demo.controller;

import com.example.demo.jwt.JWTUtils;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.HashMap;
import java.util.Map;

/**
 * Created with IntelliJ IDEA 2023.
 * Description:
 * User: homechen
 * Date: 2024-03-11
 * Time: 21:59
 */

/**
 * 测试用户登录校验 使用 token
 */
@RestController
@RequestMapping("/user")
public class UserController {
    // 注入 service 等 ...
    @RequestMapping("/login")
    public String Login(String username, String password) {
        // 1、进行参数的校验
        if (!StringUtils.hasLength(username) && !StringUtils.hasLength(password)) {
            return "非法参数！";
        }
        // 2、判断账号 | 密码是否正确 ... ...

        // 3、登录成功就给前端返回 token
        Map<String, Object> claims = new HashMap<>();
        claims.put("id", 123);
        claims.put("name", "张三");
        claims.put("age", 20);
        // 调用 JWT 工具类，生成 token
        String token = JWTUtils.getToken(claims);
        System.out.println("生成的 token 为：" + token);
        return token; // 给前端返回 token
    }
}
